package com.ylw.tools.attach.firstDemo;

import java.lang.instrument.Instrumentation;

/**
 * 为了生成agent类  判断什么时候执行该类 和Instrumentation对象内容
 * I:\jbProject\javastudy\out\production\javastudy>jar -c -f JarFileDemo.jar --manifest I:\jbProject\javastudy\out\production\javastudy\com\ylw\tools\attach\firstDemo\mymanifest -C ./ com\ylw\tools\attach\firstDemo\JarFileDemo.class
 * 会生成一个jarFileDemo.jar
 *
 * 需要在这里进行修改目标主机的操作才能看到结果
 */
public class JarFileDemo {
    public static void premain(String args, Instrumentation inst) {
        //这里没法输出
        System.out.println("premain is execute "+System.currentTimeMillis());
        System.out.println(inst.toString());
    }
    public static void agentmain(String args, Instrumentation inst) {
        System.out.println("agentmain is execute "+System.currentTimeMillis());
        System.setProperty("agent", "I'm agentMain method");
        inst.getAllLoadedClasses();
        System.out.println(inst.toString());
    }
}
